@Service
	public class PageServiceImpl implements PageService
	{
		@Resource
		private  PageMapper  pageMapper;
		@Override
		public int insertPage(PageParam param){
			Page page = new Page();
			if(param.getMenuId() != 0){
				page.setMenuId(param.getMenuId());
			}
			if(param.getPageCode() != null){
				page.setPageCode(param.getPageCode());
			}
			if(param.getPageName() != null){
				page.setPageName(param.getPageName());
			}
			if(param.getDescription() != null){
				page.setDescription(param.getDescription());
			}
			if(param.getWebUrl() != null){
				page.setWebUrl(param.getWebUrl());
			}
			if(param.getIconUrl() != null){
				page.setIconUrl(param.getIconUrl());
			}
			if(param.getCreateTime() != 0){
				page.setCreateTime(param.getCreateTime());
			}
			if(param.getUpdateTime() != 0){
				page.setUpdateTime(param.getUpdateTime());
			}
			 return pageMapper.insertSelective(page);
		}
		@Override
		public int updatePage(PageEditParam param){
			Page page = new Page();
			if(param.getPageId() != null){
				page = getPage(Long.parseLong(param.getPageId()));
			}
			if(page == null){
				return 0;
			}
			if(param.getMenuId() != 0){
				page.setMenuId(param.getMenuId());
			}
			if(param.getPageCode() != null){
				page.setPageCode(param.getPageCode());
			}
			if(param.getPageName() != null){
				page.setPageName(param.getPageName());
			}
			if(param.getDescription() != null){
				page.setDescription(param.getDescription());
			}
			if(param.getWebUrl() != null){
				page.setWebUrl(param.getWebUrl());
			}
			if(param.getIconUrl() != null){
				page.setIconUrl(param.getIconUrl());
			}
			if(param.getCreateTime() != 0){
				page.setCreateTime(param.getCreateTime());
			}
			if(param.getUpdateTime() != 0){
				page.setUpdateTime(param.getUpdateTime());
			}
			 return pageMapper.updateByPrimaryKeySelective(page);
		}
		@Override
		public int deletePage(long id){
			Page page = getPage(id);
			if(page == null){
				return 0;
			}
			return pageMapper.deleteByPrimaryKey(id);
		}
		@Override
		public Page getPage(long id){
			 return pageMapper.selectByPrimaryKey(id);
		}
		@Override
		public int deletePageList(String ids){
			List<String> pageList = Arrays.asList(ids.split(","));
			int count = 0;
			for (String id : pageList) {
			count = count + deletePage(Long.parseLong(id));
		}
			if( count == pageList.size()){
			return 1;
			}else{
			return 0;
			}
	}
		@Override
		public List<Page> selectPage(PageSelectParam param){
			PageExample pageExample = new PageExample();
			pageExample.setOrderByClause("create_time desc");
			PageExample.Criteria criteria = pageExample.createCriteria();
			if(param.getMenuId() != 0){
				criteria.andMenuIdEqualTo(param.getMenuId());
			}
			if(param.getPageCode() != null){
				criteria.andPageCodeEqualTo(param.getPageCode());
			}
			if(param.getPageName() != null){
				criteria.andPageNameEqualTo(param.getPageName());
			}
			if(param.getDescription() != null){
				criteria.andDescriptionEqualTo(param.getDescription());
			}
			if(param.getWebUrl() != null){
				criteria.andWebUrlEqualTo(param.getWebUrl());
			}
			if(param.getIconUrl() != null){
				criteria.andIconUrlEqualTo(param.getIconUrl());
			}
			if(param.getCreateTime() != 0){
				criteria.andCreateTimeEqualTo(param.getCreateTime());
			}
			if(param.getUpdateTime() != 0){
				criteria.andUpdateTimeEqualTo(param.getUpdateTime());
			}
			if (param.getOrder() != 0){
			}
			pageExample.setLimitStart((param.getPageIndex() - 1) * param.getPageSize());
			pageExample.setLimitEnd(param.getPageSize());
			List<Page> pageList = pageMapper.selectByExample(pageExample);
			return pageList;
		}
		@Override
		public int countPage(PageSelectParam param){
			PageExample pageExample = new PageExample();
			pageExample.setOrderByClause("create_time desc");
			PageExample.Criteria criteria = pageExample.createCriteria();
			if(param.getMenuId() != 0){
				criteria.andMenuIdEqualTo(param.getMenuId());
			}
			if(param.getPageCode() != null){
				criteria.andPageCodeEqualTo(param.getPageCode());
			}
			if(param.getPageName() != null){
				criteria.andPageNameEqualTo(param.getPageName());
			}
			if(param.getDescription() != null){
				criteria.andDescriptionEqualTo(param.getDescription());
			}
			if(param.getWebUrl() != null){
				criteria.andWebUrlEqualTo(param.getWebUrl());
			}
			if(param.getIconUrl() != null){
				criteria.andIconUrlEqualTo(param.getIconUrl());
			}
			if(param.getCreateTime() != 0){
				criteria.andCreateTimeEqualTo(param.getCreateTime());
			}
			if(param.getUpdateTime() != 0){
				criteria.andUpdateTimeEqualTo(param.getUpdateTime());
			}
			if (param.getOrder() != 0){
			}
			pageExample.setLimitStart((param.getPageIndex() - 1) * param.getPageSize());
			pageExample.setLimitEnd(param.getPageSize());
			return pageMapper.countByExample(pageExample);
		}
}
